List Comprehension
আপনি যখন বিদ্যমান তালিকার মানগুলির উপর ভিত্তি করে একটি নতুন তালিকা তৈরি করতে চান তখন তালিকা বোঝা একটি সংক্ষিপ্ত বাক্য গঠন প্রদান করে।
Example:
ফলের তালিকার উপর ভিত্তি করে, আপনি একটি নতুন তালিকা চান যাতে শুধুমাত্র তাদের নামে "a" অক্ষর যুক্ত ফল থাকে।
Without List Comprehension
একটি তালিকা বোধগম্যতা ছাড়া, আপনার ভিতরে একটি শর্তসাপেক্ষ পরীক্ষা সহ বিবৃতির জন্য একটি লিখতে হবে:
Example
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist)
With List Comprehension
তালিকা বোঝার সাথে, আপনি কোডের একক লাইন দিয়ে এটি করতে পারেন:
Example
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)
The Syntax
ফেরত মান একটি নতুন তালিকা, পুরানো তালিকা অপরিবর্তিত রেখে.
Condition
একটি শর্ত হল একটি ফিল্টারের মতো যা শুধুমাত্র সেই আইটেমগুলিকে গ্রহণ করে যা সত্যে মূল্যায়ন করে৷
Example
newlist = [x for x in fruits if x != "apple"]
যদি কন্ডিশন if x != "apple" রিটার্ন করে True সব উপাদানের জন্য "apple" বাদে, নতুন তালিকায় "আপেল" বাদে সব ফল থাকবে।
শর্তটি ঐচ্ছিক এবং বাদ দেওয়া যেতে পারে:
Example
newlist = [x for x in fruits]
Iterable
একটি পুনরাবৃত্তিযোগ্য বস্তু যেকোনো পুনরাবৃত্তিযোগ্য বস্তু, তালিকা, টিপল, সেট ইত্যাদি হতে পারে।
Example
newlist = [x for x in range(10)]
একই উদাহরণ, কিন্তু একটি শর্ত সহ:
Example
newlist = [x for x in range(10) if x < 5]
Expression
অভিব্যক্তিটি পুনরাবৃত্তিকারীর বর্তমান আইটেম, তবে ফলাফলটিও, যা নতুন তালিকায় একটি তালিকা আইটেম হিসাবে শেষ হওয়ার আগে আপনি এটিকে ম্যানিপুলেট করতে পারেন:
Example
newlist = [x.upper() for x in fruits]
আপনি যে কোনও কিছুতে প্রভাব সেট করতে পারেন:
Example
newlist = ['hello' for x in fruits]
শর্তগুলি একটি অভিব্যক্তিতে একটি ফিল্টার হিসাবে নয়, তবে ফলাফলটি ম্যানিপুলেট করার উপায় হিসাবেও থাকতে পারে:
Example
newlist = [x if x != "banana" else "orange" for x in fruits]
Comprehension Examples
শুধুমাত্র "a" সহ ফল
ফলকে বড় অক্ষরে রূপান্তর করুন
সংখ্যা দ্বিগুণ করুন
নেতিবাচক সংখ্যাকে 0 এ রূপান্তর করুন